<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // await右侧是promise对象

        // 1. 只能在async函数内运行
        // 2. 只接受成功！

        // 必须配合async函数使用！
        // async function fn() {
        //     try {
        //         // await 只能获取到promise成功的结果值。
        //         let a = await new Promise((res, rej) => {
        //             // res('ok')
        //             rej('error')
        //         });
        //         console.log(a);
        //     } catch (err) {
        //         console.log(err);
        //     }
        // }

        // fn()
        // 非promise对象 返回其结果
        // promise成功，则返回其成功结果值
        // promise失败，则抛出错误


        async function fn() {
            console.log("fn函数");

            let n = await new Promise((res) => {
                console.log("promise函数");
                res('ok')
            });

            // 异步执行代码 - 条件 是 await有结果了才能执行后面的代码
            // 异步微任务
            console.log(n);
        }

        fn()

        console.log('end');
    </script>
</body>

</html>